Core Animation

继承结构

  • 核心动画中所有类都遵守CAMediaTiming。
  • CAAnaimation是个抽象类,不具备动画效果,必须用它的子类(CAAnimationGroup和CATransition)才有动画效果。
  • CAAnimationGroup(动画组),可以同时进行缩放,旋转。
  • CATransition(转场动画),界面之间跳转都可以用转场动画。
  • CAPropertyAnimation也是个抽象类,本身不具备动画效果,只有子类(CABasicAnimation和* CAKeyframeAnimation)才有动画效果。
  • CABasicAnimation(基础动画),做一些简单效果。
  • CAKeyframeAnimation(帧动画),做一些连续的流畅的动画

常用属性

  • duration:持续时间,默认值是0.25秒
  • repeatCount:重复次数,无线循环可以设置HUGE_VALF或者CGFLOAT_MAX
  • repeatDuration:重复时间
  • removeOnCompletion: 默认为YES,代表动画执行完毕后就从图层上移除,图形会恢复到执行动画之前的状态。如果想要图层保持显示动画执行后的状态,那就设置为NO,同时设置fillMode为kCAFillModeForwards
  • fillMode:决定当前对象在非active时间段的行为
  • beginTime:可以用来设置动画延时执行,若想延迟2s,就设置为CACurrentMediaTIme() + 2
  • CACurrentMediaTIme():图层的当前时间
  • timingFunction:速度控制函数,控制动画运行节奏
  • delegate:动画代理

锚点